/*
* Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组
*   参数：
*     arrayLike： 想要转换成数组的伪数组对象或可迭代对象
*     mapFn(可选)：如果指定了该参数，新数组中的每个元素会执行该回调函数
*     thisArg(可选)：执行回调函数 mapFn 时 this 对象
* 要将一个类数组对象转换为一个真正的数组，必须具备以下条件:
*   该类数组对象必须具有length属性，用于指定数组的长度。如果没有length属性，那么转换后的数组是一个空数组
*     length 决定了Array.form 最终返回的新数组的长度，减裁掉或补齐(undefined)
*   该类数组对象的属性名必须为数值型或字符串型的数字
*   该类数组对象的属性名可以加引号，也可以不加引号
* */

let obj = {
  0: 1,
  1: 2,
  2: 3,
  length: 3
}
const newArr = Array.from(obj, function (item, index) {
  return {
    id: this.prefix + item,
    order: index
  }
}, {
  prefix: 'No.'
})
console.log(newArr)